/**
 * @author Sebastian
 * @version 2.0
 * @date 2024/6/27 20:45
 */
// 比较版本号
    //能用split就简单，不能试试双指针
// 给你两个 版本号字符串 version1 和 version2 ，请你比较它们。版本号由被点 '.' 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。
//
//比较版本号时，请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少，则将缺失的修订号视为 0。
//
//返回规则如下：
//
//如果 version1 < version2 返回 -1，
//如果 version1 > version2 返回 1，
//除此之外返回 0。
    //示例 1：
//
//输入：version1 = "1.2", version2 = "1.10"
//
//输出：-1
//
//解释：
//
//version1 的第二个修订号为 "2"，version2 的第二个修订号为 "10"：2 < 10，所以 version1 < version2。
public class Solution165 {
    public int compareVersion(String version1, String version2) {
        char[] version1CharArray = version1.toCharArray();
        char[] version2CharArray = version2.toCharArray();
        int i = 0, j = 0;
        while(i < version1.length() || j < version2.length()) {
             int a = 0, b = 0;
             while (i < version1.length() && version1CharArray[i] != '.') a = a * 10 + version1CharArray[i++] - '0';
             while (j < version2.length() && version2CharArray[j] != '.') b = b * 10 + version2CharArray[j++] - '0';
             if (a < b) return -1;
             else if (a > b) return 1;
             i++;
             j++;
         }
        return 0;
    }
}
